package com.alibaba.citrus.ots.sales.plan.repository;

import com.alibaba.citrus.ots.sales.plan.dto.api.request.QuerySalesPlanReportRequest;
import com.alibaba.citrus.ots.sales.plan.dto.api.request.SalesPlanReportPageQueryRequest;
import com.alibaba.citrus.ots.sales.plan.sdo.SalesPlanReportSDO;
import com.alibaba.cz.base.tool.page.PageResult;

import java.util.List;

/**
 * @author zls
 * @description:
 * @date 2021-09-19 15:55
 */
public interface SalesPlanReportRepository {

    /**
     * 创建提报单
     * @param salesPlanReportSDO
     * @return
     */
    String save(SalesPlanReportSDO salesPlanReportSDO);

    /**
     * 编辑编辑提报单
     *
     * @param salesPlanReportSDO
     * @return
     */
    Boolean edit(SalesPlanReportSDO salesPlanReportSDO);

    /**
     * 查询提报单列表
     *
     * @param querySalesPlanReportRequest
     * @return
     */
    List<SalesPlanReportSDO> querySalesPlanReportList(QuerySalesPlanReportRequest querySalesPlanReportRequest);

    /**
     * 根据条件查询提审单
     *
     * @param querySalesPlanReportRequest
     * @return
     */
    SalesPlanReportSDO load(QuerySalesPlanReportRequest querySalesPlanReportRequest);

    /**
     * 分页查询提报单
     * @param request
     * @return
     */
    PageResult<List<SalesPlanReportSDO>> pageQuery(SalesPlanReportPageQueryRequest request);
}
